<?php

namespace App\Http\Controllers\Admin;

use Elasticsearch\ClientBuilder;
use App\Http\Controllers\Controller;

class EsController extends Controller
{
    //创建生成索引
    public function create(){
        $hosts=config('es.host');
        //实例化es对象
        $client=ClientBuilder::create()->setHosts($hosts)->build();
        //创建索引
        $params=[
            //索引名
            'index'=>'zfw',
            'body'=>[
                //指定副本和分片
                'settings'=>[
                    //分片，后续不可修改
                    'number_of_shards'=>5,
                    //副本 后续可修改
                    'number_of_replicas'=>1
                ],
                'mappings'=>[
                    '_source'=>[
                        'enabled'=>true,
                    ],
                    //字段
                    'properties'=>[
                        //房屋名称
                        'name'=>[
                            //精确查询
                            'type'=>'keyword'
                        ],
                        //房源描述
                        'desn'=>[
                            //模糊搜索
                            'type'=>'text',
                            //插件 中文分词插件 需要安装
                            'analyzer'=>'ik_max_word',
                            'search_analyzer'=>'ik_max_word'
                        ]
                    ]
                ]
            ],
        ];
        $response=$client->indices()->create($params);
        dump($response);
    }
}
